Luc's Floppy Challenge
Luc's Floppy Challenge
When a colleague of mine asked if I would like to have a collection of his old 3.5" floppy disks, I instantly said yes. Like most computer nerds, I'm inclined to be nostalgic about aging technology, so declining his offer was simply not an option. This however lead to the logical dilemma:
What am I to with all these floppies?
After making a backup of all the data, the disks were just collecting dust in a corner of my office. In order to make some use out of them, I created a challenge for myself:
Fill all 242 floppies with your own software.
I am sharing my progress on my Blog, where I'll try to explain how every floppy has been filled for those who might be interested. If you wish to share some thoughts about this challenge, please do not hesitate to contact me on my Twitter. I would love to hear from you! All source code, including this website, can be found on this online repository.
Below you will find the complete list of filled floppies (3/242 complete):


--- layout: informational title: Archives ---
All posts can be found on this page or by searching. Bits (short-form pieces) are not included here and have their own section.


--- layout: post title: event driven webserver with F# categories: - .Net - English - fsharp - functional programming - HTTP status: publish type: post published: true meta: _edit_last: '1' _jd_tweet_this: 'yes' _wp_jd_target: http://www.logv.ws/228 _wp_jd_goo: http://goo.gl/AZo4P _jd_wp_twitter: ! 'a:2:{i:0;s:58:"New post: event driven webserver in F# http://goo.gl/AZo4P";i:1;s:63:"Post Edited: event driven webserver with F# http://goo.gl/AZo4P";}' --- I am always open to experiemt with new stuff, so this time I did something I wanted to do for a long time: play a bit with F#. I read some book about it in the past, but never had the chance to really do something with it. I was always fascinated by the expressiv code that you are able to create with it. Since my current spare time poject is using a webserver I thought it would be a nice idea to implement some stuff for it with F#. I am now rewriting the hole server component of the trainmonitor in F# to get a feeling for it. Here is the first part of code I wrote that is nothing more that a wrapper around the HttpListener of the .Net framework. I have written similar stuff in C# to get a async event based server for C#, but what I alway felt ugly about was the way the controlflow was distibuted all over the place. Wouldn't it be nice to just write code like this:
server.Get |> Observable.add greeting
Which simply replies "hello world" to any get request?
Ok this is a little trick since "greeting" is a function that does the hard work but even if I write it more verbose is looks like this:
server.Get |> Observable.add (fun(ctx) -> response ctx |> write "hello world" |> close)
Still quite nice? And even if you don't know much about the language or how the methods are implemented you can read whats going on.
It observes the servers "Get" event then it extracts the response, writes "hello world" and closes the response. Ok now how it works?
Lets have a look at the hole code:
open logv.http
[<EntryPoint>]
let main argv =
let server = new Server("localhost", 13337)
server.Start()
server.Get |> Observable.add (fun(ctx) -> response ctx |> write "hello world" |> close)
System.Console.ReadLine() |> ignore
server.Stop()
The magic seems to happen in the logv.http module. This is a module written by me that offers some methods and a server class to interact with the HttpListener of the framework in a more sophisticated way. Due to the nature of F# and its lightwight syntax it offer sime kind of mirco domain specific language to work with. E.g. the "response" keyword is a function for real that extracts the response from a HttpListenerContext and the write function writes a string to such a response combined together it looks like they would be part of the language.
If you are interested in the hole code you can find it a the end of this post. Since I just started porting the code I will keep posting my experience in a small series of blog posts in the near future.
namespace logv
module http =
open System.Net
/// Extracts the response from HttpListenerContext
/// <param name="ctx">The HttpListenerContext to extract the response from</param>
///<returns>The HttpListenerResponse from the Context</returns>
let response (ctx : HttpListenerContext) = ctx.Response
/// Extracts the reqeust from HttpListenerContext
/// <param name="ctx">The HttpListenerContext to extract the request from</param>
///<returns>The HttpListenerRequest from the Context</returns>
let request (ctx : HttpListenerContext) = ctx.Request
let body (req : HttpListenerRequest) = async {
let decode b = req.ContentEncoding.GetString(b)
let stream = req.InputStream
let! bytes = stream.AsyncRead((int)stream.Length)
return decode bytes
}
let writeCode501 (res : HttpListenerResponse) =
res.StatusCode <- 501
res
let write (data : string) (res : HttpListenerResponse) =
let bytes = System.Text.Encoding.UTF8.GetBytes(data)
let stream = res.OutputStream
stream.Write(bytes, 0 , bytes.Length)
res
let requestUrl (ctx :HttpListenerContext) = ctx.Request.RawUrl
let endsWith(pattern : string) (target : string) = target.EndsWith(pattern)
let startsWith(pattern : string) (target : string) = target.StartsWith(pattern)
let contains (pattern : string) (target : string) = target.Contains(pattern)
let matches (pattern : string) (target : string) = System.Text.RegularExpressions.Regex.IsMatch(target, pattern)
let close (res : HttpListenerResponse) = res.Close()
type Server(host : string, port : int) = class
let cts = new System.Threading.CancellationTokenSource()
let listener = new HttpListener()
let getEvent = new Event<_>()
let postEvent = new Event<_>()
let putEvent = new Event<_>()
let deleteEvent = new Event<_>()
let patchEvent = new Event<_>()
let handleContext(ctx :HttpListenerContext) =
match ctx.Request.HttpMethod with
| "GET" -> getEvent.Trigger(ctx)
| "POST" -> postEvent.Trigger(ctx)
| "PUT" -> putEvent.Trigger(ctx)
| "DELETE" -> deleteEvent.Trigger(ctx)
| "PATCH" -> patchEvent.Trigger(ctx)
| _ -> response ctx |> writeCode501 |> close
let mailbox = MailboxProcessor.Start(fun inbox ->
let loop =
async {
while true do
let! ctx = inbox.Receive()
handleContext ctx
}
loop
)
let rec requestLoop(token : System.Threading.CancellationToken) = async {
let! context = Async.FromBeginEnd(listener.BeginGetContext, listener.EndGetContext)
mailbox.Post(context)
if token.IsCancellationRequested = false then
return! requestLoop(token)
}
member val Host = host with get
member val Port = port with get
///Starts the webserver
member this.Start() =
listener.Prefixes.Add("http://" + host + ":" + port.ToString() + "/")
listener.Start()
Async.Start(requestLoop(cts.Token))
///Stops the webserver
member x.Stop() =
cts.Cancel()
listener.Stop()
///Event for handling a GET request
member x.Get = getEvent.Publish
///Event for handling a POST request
member x.Post = postEvent.Publish
///Event for handling a PUT request
member x.Put = putEvent.Publish
///Event for handling a DELETE request
member x.Delete = deleteEvent.Publish
///Event for handling a PATCH request
member x.Patch = patchEvent.Publish
end


I have officially started the process of moving my blog, The Class Nerd, from Squarespace to Micro.blog. I have struggled with squarespace for a long time as an iOS only user, and as Micro.blog has matured as a platform, it has become more and more powerful. That, combined with the ability for me to post content directly to Micro.blog from Drafts 5, has let me to moving.
I currently have @theclassnerd set up here on Micro.blog, and I have just moved the domain over.
If you are subscribed to The Class Nerd via RSS, you’ll need to use the new feed (or JSON feed). If you follow me on Micro.blog and want to continue to see my posts about education technology, you should follow @theclassnerd. All posts via The Class Nerd will also go to The Class Nerd twitter account.
CraigMcClellan.com will continue as my personal blog covering everything from Apple to foster care to Star Wars. All posts about how I get my work done as a teacher using iOS will be on The Class Nerd. Follow along even if you’re not a teacher though. Hopefully it’s still useful.
I have a lot of stuff planned for The Class Nerd in the next few weeks, and having it hosted here on Micro.blog enables a lot of that. I’m excited for what the future holds.


Quest website hosts more than 100 products not only on the marketing website but also on other domains such as e-commerce, support, community, and partners platforms. Consistent style is an essential factor across all domains to maintain shared user experience and branding.
Building a responsive pattern library as a collection of UI elements that can be reused across all domains. The library will create a solid framework to communicate design standards to everyone who touches Quest domains.
UX/UI Designer
Ongoing (2016 - 2020)
Sketch, Adobe Photoshop, Frontify, Hand-Coded Prototypes, Zeplin, Visual Web Optimizer (for user testing), OptinMonster
Whether creating a UI pattern from scratch or redesigning an existing pattern to enhance the user experience, It is important to comply with WCAG accessibility guidelines and create intuitive solutions for everyone. Following are some of the activities I took to design these patterns:
An area for major promotions and events.
Selectable items associated with an icon.
Following the color contrast ratio for the icon and the circle background to make sure they are legible against their background in different states (load vs hover)
A collection of featured products.
This area is the first visual element a visitor encounters and it presents an overview of the page content.
View Patterns:
Hero with a diagonal cut and centered video Hero with 3 assets Hero with diagonal cut and left-aligned videoThe goal is to show a mix of several asset types in one area. (i.e White paper, Infographic, Datasheet, Video, e-Book, etc) and display more details upon interaction.
This pattern has been revised 3 times based on A/B test campaigns. Following is the history of the result:
This pattern showcases customer quotes to validate the information on the page. It can be used to display ratings from external sources as well.
It is used to give users insights into what the product is about and teach them common and uncommon features to allow them to make an informed purchase decision.
A horizontal fixed bar that contains different sections of a long page for easier navigation.
A collection of digestible content in flexible containers that calls for action. They can consist of different elements and don’t necessarily require direct comparison.
View Patterns:
Cards with footer Cards with CTA Cards with background imageThe pattern allows the user to browse through a series of images sequentially.
The main purpose of this pattern is to showcase important pieces of statistics extracted from data or infographic to further support the page content with actual data.
Providing alternative text for number based images
It’s a collection of user input elements in exchange to:
I’ve run a conversion tracking campaign on multiple pages using VWO and following is the result for the new form:
They are used to narrow down search results for users to speed up discoverability.
Campaigns to display attention-grabbing offers to the users at the right time with customizable triggers.
This pattern is to display any awards or industry recognition to help increase the reputation of a product or solution.
I have conducted A/B test to see if the presence of awards will improve conversion rate using VWO and following is the result:


Shut-in slug test (pulse)
This demonstrates the interpretation of a pulse test with the Neuzil (1982) solution
MIT License Copyright (c) 2017 Philippe Renard - University of Neuchâtel (CHYN)
The data set for this example comes from the following reference: Batu, V., Aquifer Hydraulics: A Comprehensive Guide to Hydrogeologic Data Analysis, John Wiley, New York, 1998. Example 13-2, Pages 689-692 Example adapted from Neuzil (1982)
Let us first load the data and plot them.
[t,s]=ldf('nsl_ds1.dat');
| HYTOOL Demo |
We then define the values of the parameters that are required for the interpretation:
rw represents the radius of the well Ceff the effective compressibility Vs the volume of the tested section
rw=0.067; % Radius of the well in m Ceff=2.723e-09; % effective compressibility in Pa-1 Vs=1.59; % vol. of the test section in m3
Once the data have been loaded and the parameter defined, we can interpret the data. We do that as usually in two steps. First the parameters p of the model are estimated with the function nsl_gss. Then the non linear least squares nsl_fit is used to find an optimum fit.
p=nsl_gss(t,s);
p=fit('nsl',p,t,s);
Norm of Norm of Iteration SSE Gradient Step ----------------------------------------------------------- 0 0.00407344 1 0.00327813 0.0008202 880.701 2 0.00273153 0.000537422 610.557 3 0.00252769 0.0016573 1682.97 4 0.00181657 0.000243911 352.667 5 0.00178408 4.68995e-06 24.7885 6 0.00178406 1.56456e-09 3.24334 7 0.00178406 4.06155e-09 2.61771 8 0.00178406 4.44948e-10 0.98257 9 0.00178406 1.85727e-07 0.000320935 Iterations terminated: relative change in SSE less than OPTIONS.TolFun
We can then display the result of the interpretation. Hytool find that the folowing values for the transmissivity and storativity:
T = 6.7 e-10 m2/s and S = 1.0 e-4
figure(1)
nsl_rpt(p,t,s,[Ceff,Vs,rw],'Pierre Shale example - automatic fit');
The results are in reasonable agreement with the values found by Batu (1998): T = 1.0 e-9 m2/s and S = 3.0 e-5
In order to compare the fits between the two solutions, we compute the fitting parameter values Cd and t0 from the values of T and S provided by Batu and plot the solution.
cd = 50; t0 = 6750;
nsl_rpt([cd,t0],t,s,[Ceff,Vs,rw],'Pierre Shale example - according to Batu (1998)');
We then find that the fits are rather similar and both acceptable.


Thank you for your interest. If you have any questions or concerns about the product, don’t hesitate to send us a message anytime. We welcome all questions. Our service team will respond within 24 business days.
Service Team
029-917-2837
Monday-Friday 10:00AM-6:00PM (Launch time: 1:00-2:00PM)
Office Address
315 St Germain Ave Toronto ON M5M 1W4(Toronto ,Ontario)
Social Media


Tooltips
Default
Sunny
Sunny
Surface
Primary
Primary Container
Inverse Surface
Inverse Primary
White on #121212
Headline Small
Full Shape
Small End Shape
Icon Buttons
Sunny


Site Map
Contact Us
Chinese
Home
About UPC
Overview
UPC at a Glance
History
Key Disciplines
International
Overview
Partners
Confucius Institute
Research
Overview
Key Labs & Centers
Innovation Teams
Faculties
Faculties
Renowned Scholars
Employment
Recruitment of Deans
Foreign Experts
Admission
Library
Introduction
OPAC
EVENTS
More..
2017-10-21
Lecture: Tight oil production, hydraulic fracturing and ...
2017-10-10
Lecture: Recycling biopolymers to property enhancer for ...
2017-09-27
Lectures by Professors from University of Texas at Austi...
NEWS
More..
1
Lingshan Island Deep Earth Laboratory Established
2
Anders Lindquist Invited to be Honorary Professor of UPC
3
2017 "Confucius Institute Open Day" Held
WELCOME TO UPC
Huangdao Forum
UPC Newsletter
UPC Video
FAQs
Address : No. 66 , Changjiang West Road , Huangdao District , Qingdao , China , 266580
No. 739 , Beiyi Road , Dongying District , Dongying , China , 257061
Copyright©2014 China University of Petroleum
Email : netnews@upc.edu.cn


Clear Cache
Please wait for the cache to clear
Cache cleared
Icon made by
Freepik
from
www.flaticon.com
is licensed under
CC BY 3.0


The GoConfigurationService
can be used to brand a few select
pieces of our design system. Currently the only things that can be branded are the active indicators
on the sidenav and accordions as well as the left portion of the header.
The public setBrandColor(color: string): void
method can be used
to update the branding color by passing in a hex code.
The public toggleHeaderBrandingEnabled(): void
method can
be used to enable/disable header branding.
The overrideMenuColor()
method can
be used to override the accessibility check that is performed on the header.
You can specify light
, dark
or leave it undefined
to allow the accessibility check.
This feature is only activated if headerBrandingEnabled
is enabled.
Note: to see this example take affect, toggle the "Enable Header Branding" above to true.


JavaScript is a lightweight, interpreted programming language. It is designed for creating network-centric applications. It is complimentary to and integrated with Java. JavaScript is very easy to implement because it is integrated with HTML. It is open and cross-platform.
Let's code
Code Is Life !
-by codewithabhy...
Source code of my project will be available
2 minuteslearn web development
2 minuteslearn html
2 minutesWeb development is the work involved in developing a Web site for the Internet (World Wide Web) or an intranet (a private network).[1] Web development can range from developing a simple single static page of plain text to complex Web-based Internet applications (Web apps), electronic businesses, and social network services. A more comprehensive list of tasks to which Web development commonly refers, may include Web engineering, Web design, Web content development, client liaison, client-side/server-side scripting, Web server and network security configuration, and e-commerce development. Among Web professionals, "Web development" usually refers to the main non-design aspects of building Web sites: writing markup and coding.[2] Web development may use content management systems (CMS) to make content changes easier and available with basic technical skills. For larger organizations and businesses, Web development teams can consist of hundreds of people (Web developers) and follow standard methods like Agile methodologies while developing Web sites. Smaller organizations may only require a single permanent or contracting developer, or secondary assignment to related job positions such as a graphic designer or information systems technician. Web development may be a collaborative effort between departments rather than the domain of a designated department. There are three kinds of Web developer specialization: front-end developer, back-end developer, and full-stack developer. Front-end developers are responsible for behavior and visuals that run in the user browser, while back-end developers deal with the servers
THIS WEBSITE HAS A SOURCE CODE WHICH HELPS IN DOING PROJECT.
Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python’s elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development in many areas on most platforms. The Python interpreter and the extensive standard library are freely available in source or binary form for all major platforms from the Python Web site, https://www.python.org/, and may be freely distributed. The same site also contains distributions of and pointers to many free third party Python modules, programs and tools, and additional documentation. The Python interpreter is easily extended with new functions and data types implemented in C or C++ (or other languages callable from C). Python is also suitable as an extension language for customizable applications. This tutorial introduces the reader informally to the basic concepts and features of the Python language and system. It helps to have a Python interpreter handy for hands-on experience, but all examples are self-contained, so the tutorial can be read off-line as well. For a description of standard objects and modules, see The Python Standard Library. The Python Language Reference gives a more formal definition of the language. To write extensions in C or C++, read Extending and Embedding the Python Interpreter and Python/C API Reference Manual. There are also several books covering Python in depth. This tutorial does not attempt to be comprehensive and cover every single feature, or even every commonly used feature. Instead, it introduces many of Python’s most noteworthy features, and will give you a good idea of the language’s flavor and style. After reading it, you will be able to read and write Python modules and programs, and you will be ready to learn more about the various Python library modules described in The Python Standard Library.


Cameroon which is pupolar known as Africa inminature is full is made up of 0ver 218 enthic groups.
The Arts and Culture festival is an avenue where by we get to celebrate our great inheritage, thoughts, emotions, ect through creative art work.
This Festival will bring together great artists from different fields.
We seek to use techology to express our works.
The Arts and Culture festival is an avenue where by we get to celebrate our great inheritage, thoughts, emotions, ect through creative art work.
This Festival will bring together great artists from different fields.
We seek to use techology to express our works.
For more information, visit the Ministry of Arts and Culture at
minac.cm or contact use directly by sending an email
<EMAIL_ADDRESS>with a clear subject line.
Arts and Culture Festival 2021 Idea.
This year, the committee voted we have a national festival to showcase our rich cultures and how we live in our community. We are one and We shall celebrate as one people.
Festival of Arts & Culture 2021
15 - 17 July, 2021 | Yaounde, CameroonPast Cultural Festivals
Let us take a look at past events organized in different towns


You tried to get to a page that doesn't exist.
This is probably due to a broken link on the site, which is totally my fault, and I'd appreciate if you'd let me know how it happened. Email me at<EMAIL_ADDRESS>To escape from this busted place, either go back to the page you were just on, or go to start of...


Essay 4
Josh Gribbon
20171207
Essay choice: 1
Topic: Brain-Computer Interfaces
https://www.bloomberg.com/news/features/2017-09-07/brain-computer-interfaces-are-already-here
Stakeholders and impacts
- People developing the technology
- One impact is obviously the business opportunity that comes with the new technology. With companies like Facebook and Elon Musk’s Nueralink involved, clearly there’s a serious opportunity, also indicated by many other competitors and researchers
- There would definitely be a pretty huge responsibility that comes with being trusted with a direct connection to someone’s brain. Some solutions involve electrods worn around an arm or on the head, but none of those signals are clear or meaningful enough to do anything more than simple actions. Much like our discussion in class about 3D printed organs, this would likely come with a slew of subsequent policies and regulations.
- Security decisions would be incredibly important, as this would arguably be the biggest security threat we could create. It’d be really great if you can type on your phone automatically by thinking, but it’d be pretty awful if someone could hack into the president’s brain. There could also be a situation reminiscent of the Apple back-door case a few years ago. If a “really bad guy” has a brain control chip, it would definitely be tempting to be able to send a “turn yourself in” command.
- Medical patients
- The majority of the research for this technology has involved people that have lost a lot of their physical ability for one reason or another, but still have full control of their mind. Anything from just basic communication to a full physical range of motion could be achieved if the brain has a new way to send out signals.
- One of the big debates within healthcare is “pain management”. For a long time suffering was just a big part of medicine. Now we have powerful opiods to alleviate pain, but we’ve got ourselves into a bit of a mess with that too recently. I see two big applications here:
- We would finally have a way to accurately assess pain levels.  This could even be tied into a system that would regulate IV speeds to maintain a certain pain maximum.
- The second potential application would be to control the brain and stop the pain signals. If we could just convince the brain that everything is OK then there would be no use for the drugs at all. This has a clear danger of blocking useful pain signals, but I don’t imagine this a different impact compaered to opiods.
- Psychiatric care would have an entirely knew treatment avenue. If we go with the common model of the brain as a computer, this could let us tweak how the software is running.
- General consumers
- Hands free everything. The end goal with this would seem to be the ultimate step up from speech recognition. Evernote would save actual thoughts which you could replay later, Amazon’s stock would have a huge spike after they release “Single-Thought Purchase”, and Google would offer free memory storage as long as they can use the memories for ad targeting.
- Education could change completely. If we learn by repeatedly doing to strengthen a specific neural path, then we could have that happen in any sequence.  Like attrition damage in a company, the hardest part is the initial training
- A whole new way to connect and interact with other humans, and potentially other animals. You could literally share a memory with someone. We could see an increase in compassion for various topics, similar to the effect of the “VR refugee camp experience”.
Broad ethical concern
http://www.nmsba.com/ethics
The big ethical concern and undertone of all the research related to a brain interfact device is of course all the ways it could be go wrong, interntionally and accidentally. Again similar to 3D printed organs, there is a question of responsibility for problems. If the brain chip has a big problem and destroys someone’s brain, that would be a huge offense. Then we have the security issues, where someone could send thoughts to someone or just control their brain. It’s a technology with a ton of potential, and that could go really well or really bad.
Related codes of ethics and relevance
I first tried looking for psychiatric ethics codes, since that seemed most approriate, the APA does have a code, but none of the points seemed useful here. The Neuromarketing Science and Business Association ethics codes seemed better, even though it’s not quite about this technology.
- Article 2a: Neuromarketing researchers shall take all reasonable precautions to ensure that participants are in no way harmed or stressed as a result of their involvement in a Neuromarketing research project
- We would need to keep safety paramount, as any interface could be considered a minor form of brain surgery
- Article 7e: Particular care shall be taken to maintain the data protection rights of participants when personal data is transferred from the country in which they are collected to another country. When data processing is conducted in another country, the data protection principles of this Code must be respected.
- Security would also be incredibly important, because people could unknowingly leak info they would never even write down
Stances
- This technology should be researched further. There are definitely the safety and security concerns, but the people that have been pushing for the research so far have been people looking to gain control of their bodies again. Similar to how we have dangerous cancer treatments that people can try as a last resort, I think this will initially be a treatment like that. Then as we learn to make it better it will be more generally adopted.
- There is a clear danger with potential abuse. The dystopia scenario is that a super-government enslaves millions by controlling their brains, which I definitely think we should avoid. We would basically be networking a ton of the best computer we’ve ever seen, so we could have access to a whole new type of processing power. As all Spiderman fans know, with great power comes great responsibility. This is certainly no exception, but my personal opinion is that we’ll always be trying to advance technology and we’re not going to hold back just because it might go wrong.
- A brain-to-brain interface would be revolutionary for global relations. Language barriers have often been referenced as a problem for communication and cooperation. This could even go beyond that and circumvent any prejudices we have. If you’re just talking to people brain-to-brain all that matters is what they think, and that might be all you know about them. Similar to how many people have “internet friends” that they haven’t met in person, we could eventually have people we know only through mental conversation. If you’ve seen Black Mirror there’s a great episode where two elderly ladies have a relationship through a VR mental experience as young women and fall in love. We could re-establish the “personal” feeling we lose through most digital conversation, and stay connected in new ways to people all over the world.


Covid-19 Estimator
Population
timeToElapse
reportedCases
totalHospitalBeds
select period2 type
days
weeks
months
Submit


Comments
-
Greg Hurrell
Created an attachment (id=73) screenshot
User-submitted screenshot.
-
Greg Hurrell
Not sure what the workaround for this one might be as it seems to be the OS itself which is responsible for that. I don't have the code in front of me right now, but from memory all we're doing is passing an NSImage to the system and the system is handling the drawing of it.
The source code is available for download if anyone wants to take a look at this issue; I won't be able to investigate it myself for a while because of some other higher-priority stuff that I've got to attend to.
-
Greg Hurrell
More user comments:
"I just tried it on another Mac without ShapeShifter. Same non-transparent white background, though it's not as noticable. Except when I popup the WinSwitch menu - the hilite also has a squared-off box around the image instead of blending with the transparency. So it's not a ShapeShifter problem, it's just more noticable.
And, the transparency is also missing in the menu items, not just the menubar icon.
Note also that I've tried TIFF and PNG user pics, both with transparency
NSImage should be able to handle transparency. And other menu extras can draw transparent icons, including WinSwitch's own userIcon.tiff. I wonder if it has to do with scaling the image, since user pictures are larger than the standard menu icon size, yet the userIcon.tiff isn't scaled to fit the menubar and does show the transparency."
"Oh, another thought I had why it might not be drawing transparency - basically all use of user pics in the system I've seen doesn't display transparency, so maybe it's the *reading* of the user pic that is dropping the transparency. ie if you are using user info functions to retrieve the user pic image data and those functions don't support transparency, instead of getting the image file location and reading from the file with generic image functions."
-
jim
This issue is pretty benign, so it's hard to justify the time/energy to fix it, but this is just one of three things I can think of that would enhance my use of WinSwitch. Consider me in favor of this fix, if you can figure it out.
-
Greg Hurrell
I'm marking all WinSwitch issues closed seeing as I personally no longer use it, and in fact haven't for around 4 years now.
WinSwitch addressed a real problem with the initial implementation of Fast User Switching in Panther (released October 2003), namely, the excessive screen real estate that it chewed up. Apple fixed that problem in Tiger, if I recall correctly, which came out in April 2005 (or if I'm wrong about it being Tiger, then it was definitely fixed by the time Leopard came out, in October 2007).
With this change, most of the justification for WinSwitch's existence went away, at least for me. So that's why I'm going to close all these tickets: I can't really support something that I don't use myself.
But it's open source (see http://git.wincent.com/WinSwitch.git), so if any one wants to tackle any of these issues and submit patches, I'll be happy to accept them.
-
Greg Hurrell
Status changed:
- From: open
- To: closed
Add a comment
Comments are now closed for this issue.


I like how all the coding scripts that seem at the beginning nonsense to the human eye, it's tansformed in a beautiful eyesight.
I love making the interactions between the human and the machine possible.
Unknown territory for me so far. Learning in progress.


Recipe Maker
Name
Slug
Description
Tags
Flag
Not Implemented
Serves
Introduction
Method
Notes
Ingredients
All Ingredients
Recipe Ingredients


Mil's Diner won Best of Milpitas Breakfast for over 25+ years in a row! We've won so many awards that we lost a few.


2021 Dinos
Alan Kolick |
Oviraptor |
steals eggs |
| 3rd year |
Anthony McLean |
Tyrannosaurus Rex |
chomp chomp |
| 3rd year |
David “Duke” Boylan-Kolchin |
Crocodile |
good at lurking; moves surprisingly quickly |
| 3rd year |
Jenny Fey |
Styracosaurus |
dino-tsar; has some points |
| 3rd year |
Jonny Malks |
Brachiosaurus |
slow; eats leaves |
| 3rd year |
Kelly “Beezus” Hyland |
Compsognathus |
scratches/bites like a house cat |
| 3rd year |
Kyle Khalifa |
dinasor |
yeeee |
| 3rd year |
Sandy Jorgensen |
Allosaurus |
“different;” will eat you up |
| 3rd year |
Pete MacArthur |
Hadrosaurus |
true middle |
| 2nd year |
Theresa Hackett |
Diplodocus |
longest tail of any creature that ever lived? |
| 2nd year |
Joe Freund |
Argentinosaurus |
way bigger |
| back for more |
Chance Cochran |
Irritator |
a problem |
| “returner” |
AJ Merriman |
Momo |
sense of humor |
| 1st year |
Amber Sinicrope |
Ouranosaurus |
no, YOU are |
| 1st year |
Ashleigh Buch |
distance raptor time raptor = velociraptor |
nerd |
| 1st year |
Austin Bartenstein |
Spinosaurus |
would not be able to kill T Rex but “would give good fight” |
| 1st year |
Ben Preiss |
Gorosaurus |
does a cool jump kick thing to attack King Kong |
| 1st year |
Dane Warner |
Muttaburrasaurus |
weird toes; surprisingly long arms |
| 1st year |
Gabe Webster |
Struthiomimus |
funky |
| 1st year |
Kath Ratcliff |
Triceraptops |
three beautiful horns |
| 1st year |
Kelly Ross |
Apatosaurus |
(aka Littlefoot) very long; has main character syndrome |
| 1st year |
Lisi Lohre |
Pterodactylus |
as close to an owl as a dino can get |
| 1st year |
Molly Roy |
Sauralophus |
“yep, yep!” |
| 1st year |
Nikki “Tucker” Ross |
Ankylosaurus |
bone crusher |
| 1st year |
Verena Woloson |
Stegosaurus |
took a buzzfeed quiz |
| 1st year |
Nada Tramonte |
Pteranodon |
because pterodactyl is a misnomer |
| 1st year |
Hannah Boone |
Fabrosaurus |
might not be real |
| practice squad |
Carly Campana |
Iguanadon |
thumb spikes; prehensile fifth finger (aka thumb) |
| practice squad |
Claire Trop |
All Dinos, All Saurs |
time is a flat circle |
| practice squad |
Conner Fox |
Plesiosaurus |
comfortable on the water |
| practice squad |
Gabe Westegren |
Archeopteryx |
the very first bird |
| practice squad |
Miles Grovic |
Saltopus |
"hopping foot" |
| practice squad |
Ryan Cooper |
Theupel Strudel |
the Dragonborn he made in D&D |
| practice squad |
Alex “Dutchy” Ghesquiere |
Troodon |
conductor of children |
| coachy pal |
Ty Aderhold |
Pachycephalosaurus |
thick head, full of brains |
| coachy pal |


In this web sandbox, you can deploy, edit and test business network definitions. Have a play and learn what {{ config.banner.join(' ') }} is all about.


Accomplished 16 years of professional experience in Web technologies, LAMP architecture and having strong problem solving and team management skills. Expert in custom module and theme development in drupal 6,7 and 8. Provide custom solutions to clients using drupal. Comfortable to work independently as well as with the team. Have good amount of experience using React JS components, Forms, Events, Keys, Router, hooks and Redux. Good in Javascript. Proficient in AngularJs, Custom directives, controllers, filters and modules. Strong foundation in Javascript along with Angularjs and have good experience in single page application development. Worked in Angularjs version 1.x and familiar with Angularjs version 2. Have good communication skills and taking client calls as well as give technical solutions to client Provide custom solutions to clients using drupal and other php frameworks Familiar to continue development work. Have strong knowledge in third party APIs like google, facebook, twitter, payment gateway integrating and also in RESTful web services. Regularly tracking project issues and updating Wiki for project documentation like user stories etc. Have good skill in Team handling, monitoring and management Regularly take part in project documentation creation and analysis, coding, database designing and take care of security of application and take active part in client communication.
Working directly with clients development team as an individual contributor and actively involved in maintenance and expansion of a distributed Elixir solution that attends one of the fastest growing US companies with more than 400000 active users, including integration and maintenance of a legacy PHP system. Major technology involved is PHP, Elixir, Yii, ReactJs and follows agile methodology as a development practice. Providing suggestions for improvement in the Development team and Testing practices to lead to increased performance of the application. Also provides work leadership to others. Interfaces with senior management to provide and obtain information and gain consensus regarding project direction.
Implement the major aspects of the sprints per the defined functionality for the site with attention to detail and support Do coding and other development work with the team to meet client requirements on time. Communicate with clients on a regular basis, understand business requirements and provide solutions which will meet clients requirements. Analysis and optimization of database and code with best practices. Design and develop system design document for all aspects of the web site and migration for the content from existing system to Drupal Responsible for installing, configuring and maintaining Drupal, PHP, Apache and MYSQL on AWS Cloud Servers. Developed fully functional, cross browser compatible websites on ReactJS, Drupal Take client call and provide technical solution as per client requiremen
Working as a senior software developer role and follow agile methodology of software development process Design, develop and implement coding skill to develop web applications using php Analysis and optimization of database and code with best practices. Write reusable and bug free code Experience in developing Web services using SOAP and REST. Involved in fixing the CSS for the browsers Safari, Chrome, Mozilla, Internet explorer, Opera Designed and developed applications from scratch on Drupal.
Design, develop and implement coding skills to develop web applications. Leading & monitoring the performance of team members to ensure efficiency in operations and meeting of individual & group targets. Lead & Assist my team in development process Code for complex, fully-featured websites using wordpress, codeigniter, symfony and drupal with integrating custom programming with existing third-party modules. Designed and developed applications from scratch on Drupal. Worked with Management to create project specifications and documentation and also designed, evaluated, enhanced, tested, troubleshoot, and maintain PHP applications Implemented GIT based version control for migration. Used Angularjs, HTML, CSS, java script, J query on client side. Responsible for design, development, test and maintenance of applications designed on various PHP frameworks
Worked as a senior application developer with team or as an individual contributor in different projects Provided the best possible solution to the end client through the application development process. Drupal module and theme development Communicate with clients from both technical and non-technical aspects. Working with object oriented programming using symfony and codeigniter
Develop project using drupal contribute module and develop custom module and custom theme according to client requirement. Involved in the preparation of Functional specifications and Design documents for projects. Involved in understanding the existing system developed in Drupal and PHP with other sections of web technology. Provided technical solutions through conference calls to clients. Integrate 3rd party APIs with drupal Created custom Drupal modules using PHP, MySQL and JavaScript and configure required contributed Modules Programmed VIEWS and developed custom Modules. Sound knowledge in OOPS concepts.
Coding and database designing using symfony, jquery, javascript, css Develop reusable code for the organization Understand the business and functional requirements implement logic accordingly through code Write and execute code to develop an application which will meet the end client requirement. Worked heavily on Drupal based web application development and developed various custom modules.


Your relaxing vacation will include access to the following great ammenities:
Classy Dave's has won numerous awards on our island. Whether you want a lunch time hamburger or a fine dining experience, we have it all!


IPCC. Managing the Risks of Extreme Events and Disasters to Advance Climate Change
Adaptation. A Special Report of Working Groups I and II of the Intergovernmental Panel
on Climate Change (Field, C. B., V. Barros, T. F. Stocker, D. Qin, D. J. Dokken, K.
L. Ebi, M. D. Mastrandrea, K. J. Mach, G.-K. Plattner, S. K. Allen, M. Tignor, and
P. M. Midgley (eds)). Cambridge University Press, Cambridge, UK, and New York, NY,
USA,
582 pp. (
2012).


This is climate data for the year of 2015 in the state of Iowa. This year saw the highest rainfall, a moderaltey warm winter, and a moderatley warm summer when compared to the other 3 years shown.
This is climate data for the year 2014 in the state of Iowa. The rainfall that year was relatively heavy compared to the other 3 years, though 2015 appears to have had more rain. The summer was fairly cool and the winter was very cold when compared to the other years.
This is the climate data for 2013. This year saw a moderate amount of rain across the state. The summer and winter were both relatively cool.
This is climate data for the year 2012 in the state of Iowa. This year saw the lowest rainfall of the 4 years studied. The summer was very hot and the winter was very warm as well.


The Problem
I was recently requested to make sure that our machine's network interface cards (NICs) have their DNS queries pointed to "the correct servers".
I decided that every machine should point to its domain's DNS servers, and it's their job to redirect queries (if needed) to other DNS servers. Of course there are exceptions, but it seems like a good solution.
In most companies, the domain controllers are the domain DNS servers, but some domain controllers may not be DNS servers, and some setups might be using other servers (like a secondary, read-only server for backup) to answer domain queries.
So if you're going to implement my solution, you need to think about what are "the correct servers" in your case.
The Solution
The solution to "the correct servers" I found is to query for A records for the domain name itself.
DCs make sure to register their own records there, and if a sysadmin wants to add another DNS server, he only has to create an A record with the domain name pointing to its IP.
Ideally, I would have queried for the NameServer records of the domain (NS
type), since it's actually equivalent to asking the DNS servers "who can answer
queries on this domain?" but it wasn't so easy, because my 3 options for querying are:
- Using
[System.Net.Dns]::GetHostAddresses
:
Sadly, onlyA
-type records are supported, which means I won't be able to query forNS
records - Using
Add-Type
to compile C# code that usesDLLImport
ondnsapi.dll
, creates a wrapper function and call that function from PowerShell:
It creates a hard-to-maintain script that throws win32 errors when fails (rather that simple .net exceptions) and can stop working on the next version of Windows - Calling
NSLookup
and parsing the results:
NSLookup's output isn't easy to read as a human - I have no intention to start explaining to a machine how to parse it
And so I ended up using the first method, because I figured that it's not that much of a crime, since I'm still getting my information from a domain-global location.
The Logic
The script itself is pretty short, and works only on the local machine (since I'm planning to use SCCM or something similar to invoke it on all of my machines):
- The machine's domain is determined
- All NICs with IP enabled (i.e. that are actually used) are being queried through WMI
- All IP addresses are collected from the NICs
- All NICs that "belong" to the domain (have the domain name as a DNS search suffix, thus filtering non-domain NICs, like internet-facing or iSCSI ones) are being collected
A
-type records of the machine's domain are being queried, excluding ones that are matching the machine's IP addresses (if such record is found, the machine is a DNS server itself)- If the machine is a DNS server (as found in step 5), the address
<IP_ADDRESS>
is added to the top of the list, to make sure it tries querying itself first - The generated DNS list is being written into every domain-related NIC
The Code
$compDomain = [DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain().Name
$nics = @(gwmi win32_networkAdapterConfiguration -filter 'IPEnabled=True');
$ipAddresses = @($nics | select -exp IPAddress)
$dnsNics = $nics | ?{($_.DNSDomainSuffixSearchOrder -contains $compDomain) -and ($_.DNSServerSearchOrder.Count)}
[bool]$isDNSServer=0
$dnsAddresses = @([net.dns]::GetHostAddresses($compDomain) | select -exp IPAddressToString | %{if($ipAddresses -contains $_){$isDNSServer=1}else{$_}})
if($isDNSServer) {$dnsAddresses =@('<IP_ADDRESS>')+$dnsAddresses }
$dnsNics | %{$_.SetDNSServerSearchOrder($dnsAddresses)} | out-null
Have fun resolving!


Doge Social Network
Home
Profile
Friends
Profile of Doge
Name:
Doge
Birthday:
Top secret
Occupation:
Celebrity
Area of Occupation:
Web


Let me try to put together what the hell happened to me last night. I have absolutely no idea what it was, but it was very very deep and profound and it is for that reason that I decided to write a report on it. We finally managed to get our hands on some nn-dmt, we had traded some 5meo for it, of which we had enough ourselves.
The preparations were – as they were each time – filled with nervousness and anxiety, but in a good way. I remember saying to myself after the last time, there’s nothing to be nervous about. Whatever happens happens and that’s it. Just make sure you dose right, you’re with friends and you feel good. So that was what I did. I have tried 5meo-dmt two times before, both of which were at 12 mg. and pretty intense synesthetic experiences. No visuals, just all emotion, feeling and senses blended together.
We loaded up a pipe made out of a plastic bottle with a glass pipe in the bottom, kind of a dry bong. Put cigarette ashes beneath and on top of 36 mg. n’n dmt and sucked all the smoke in in two big tokes. I even had time to lay down easily and say goodbye just before I took off. I really had to concentrate to get visuals with my eyes closed and as soon as after a minute I felt it all slipping away, which it did in about four minutes. A little frustrated about the superficial trip I had, having had no insights or deeper understanding whatsoever, I thought about doing an experiment for the sake of comparison. This meant: trying another dose, but this time of 5meo-dmt. After some contemplation, me and my friend (who had also had nn) decided to go for it.
This time I went first. Somehow Bluetech was playing, just like the first time I tried 5meo. At first I wanted to try it without music, but I guess it helps me to get a grip. That’s why I like ambient with a little beat in it as well. For the linearity of it all. Well, as I said, I went first. I inhaled the smoke – again in 2 tokes – and this time I didn’t even have time to exhale, I was thrown back and washed over with an intense psychedelic patterning which seemed to be coming straight from the centre of existence.
According to my sitters it looked as if I was fighting for survival, closing and opening my eyes, holding my hands in front of me as the Indians say ‘thank you’. It truly felt like saying thankyou though, but in a universal kinda way. I only felt love, amazement, puzzlement and extreme gratitude for being allowed to be part of this. I don’t deserve this, why me? I wanted to cry but couldn’t stop grinning. It felt like the whole world had come to a stop and I was ‘walking the line between worlds’. Don’t remember where those words came from, but they sure as hell mean a lot to me now. Walking the line between worlds. I am a pretty agnostic person I guess, but this was one religious experience.  Things like that can’t have anything to do with a ‘God’. Everything is everything, is love, is energy, is existence, is whatever. I don’t know… I really don’t know but this must have been the deepest thing I’ve ever felt. This is not a drug. This is a portal, a gift from beyond. I desperately want to know the meaning of it all but I don’t and doubt I will find out and doubt if it can be found out even . I am still in extasy and still trying to make sense of it all.
This is by no means a drug in the ‘fun’ sense of the word, even though it was all very positive to me. Pure love, peace and energy, gratitude and amazement. I still feel nothing but respect and must say this is not for the faint-hearted but only for the true psychonauts.
Divine Moments of Truth indeed!!
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


London Attack treated as Terror-Related
Latest on London Attack that occurred early this afternoon.
London's Metropolitan Police say that the incident of the London Bridge attack is now being treated as terror-related.
According to British police, "at this stage, the circumstances relating to the incident at London Bridge remain unclear. However, as a precaution, we are currently responding to this incident as though it is terror-related."
Several people had been stabbed nearby and witnesses have heard gunshots.
British police have confirmed a man has been shot on the London Bridge.
More details to come.
Copyright 2019 WVLT via AP/CBS. All rights reserved.


Hi,
Here are the trending deals on Troupon
{% for deal in trending_deals %}
{{ deal.title }}
Price:{{ deal.price }}$
{% empty %}
No Popular Posts Today
{% endfor %}
Click to view
Thanks, Troupon Team.


Ingredients
This recipe combines directions for making a batch of pancake
batter mix with amounts for making different numbers of pancakes.
Make the mix in advance (sift ingredients together), store in fridge,
then follow the directions below for making different numbers of pancakes.
| Dry Mix Ingredients |
| Ingredient | Amount |
| buckwheat flour | 1 cup (148 g) |
| almond flour | 1/2 cup |
| coconut flour | 1/2 cup |
| arrowroot | 6 Tbsp |
| baking powder | 2 Tbsp |
| coconut sugar (optional) | 2 Tbsp |
⇒ Time saving tip: Use 1 cup (92 g) of Bob's
Red Mill Grain Free Paleo Baking Flour in place of the almond
flour, coconut flour and arrowroot.
| Batter Ingredients |
| Ingredient | For 5 - 6 4" | For 1 - 2 5" |
| dry mix | 3/4 cup | 1/4 cup |
| buttermilk | 1/3 cup | 3 Tbsp |
| eggs | 2 | 1 |
| melted butter | 1 Tbsp | 1/2 Tbsp |
Procedure
- Mix dry ingredients
- Sift mixture into medium mixing bowl (push lumps through screen)
- Mix wet ingredients
- Gently stir liquid mixture into the sifted dry mixture. Let sit for
a couple of minutes. The mixture should be thick, barely able
to pour off a spoon. If mixture is too thick, add a bit of
buttermilk. Do not overmix!
- Spoon onto griddle set to 300 degrees or induction cooktop at 3.5.
- Cook each side until nicely brown (this recipe doesn't bubble).
- Serve with pure maple syrup!
Ingredients
| Ingredient | For 9 - 10 large | For 4 - 5 large | For 1 - 2 large |
| almond flour | 2 cups | 1 cup | 1/2 cup |
| coconut flour | 2 cups | 1 cup | 2 Tbsp |
| flaxseed meal | 3 Tbsp | 2 Tbsp | 1 Tbsp |
| baking powder | 3 tsp | 1.5 tsp | 1 tsp |
| coconut milk | 1 cup | 1/2 cup | 3 Tbsp |
| water | 12 Tbsp | 6 Tbsp | 7 Tbsp |
| coconut sugar (optional) | 4 Tbsp | 2 Tbsp | 1 tsp |
Procedure
- Mix dry ingredients
- Sift mixture into medium mixing bowl (push lumps through screen)
- Mix wet ingredients
- Gently stir liquid mixture into the sifted dry mixture. Let sit for
a couple of minutes. The mixture should be thick, barely able
to pour off a spoon. Do not overmix!
- Spoon onto griddle set to 300 degrees or induction cooktop at 3.5.
- Cook each side until nicely brown (this recipe doesn't bubble).
- Serve with pure maple syrup!
Ingredients
| Ingredient | For 9 - 10 large | For 4 - 5 large |
| almond flour | 2 cups | 1 cup |
| baking powder | 3 tsp | 1.5 tsp |
| coconut milk | 1.5 cup | 1/3 cup |
| coconut sugar | 4 Tbsp | 2 Tbsp |
| eggs, possibly separated | 4 | 2 |
Procedure
- Mix dry ingredients
- Sift mixture into medium mixing bowl (push lumps through screen)
- Mix wet ingredients (minus egg whites if separate)
- Gently stir liquid mixture into the sifted dry mixture. Let sit for
at least 10 minutes.
- Beat egg whites until slightly stiff.
- Gently fold egg whites into mixture.
- Spoon onto griddle set to 300 degrees or induction cooktop at 3.5.
- Cook each side until nicely brown (this recipe doesn't bubble).
- Serve with pure maple syrup!
Ingredients
| Ingredient | For 9 - 10 large | For 4 - 5 large |
| whole wheat pastry flour | 10 oz | 5 |
| baking powder | 2 tsp | 1 tsp |
| lite salt | 1/4 tsp | 1/8 tsp |
| lowfat buttermilk | 1 5/8 cup | 3/4 cup |
| olive oil | 2 Tbsp | 1 Tbsp |
| fruit sweet | 6 Tbsp | 3 Tbsp |
| egg whites | 2 | 1 |
| blueberries or chocolate chips | ~2 cups | ~1 cup |
Procedure
- Mix flour, salt, and baking powder.
- Sift mixture into medium mixing bowl (push lumps through screen).
- Mix buttermilk, oil and fruit sweet.
- Gently stir liquid mixture into the sifted dry mixture. Let sit for
at least 10 minutes.
- Beat egg whites until slightly stiff.
- Gently fold egg whites into mixture.
- Add blueberries or chips and mix in very gently.
- Spoon onto griddle set to 300 degrees.
- Cook each side until nicely brown (this recipe doesn't bubble).
- Serve with pure maple syrup!
Copyright ©, 2003 -- 2023, Steve Goldhaber


{% extends 'products/base.html' %} {% load random_encode %} {% load static %} {% block title %} Contact {% endblock %} {% block breadcrumbs %}
Contact us if you have questions, ideas, would like to update information, or if you believe your product is missing from this overview.
Please send an e-mail to:


---
baseurl: ./
site: ipfs
title: IPFS is a new peer-to-peer hypermedia protocol.
---
{% extends "tmpl/layouts/ipfs.html" %}
{% set splashcaret = true %}
{% block splash %}
IPFS is The Permanent Web
A new peer-to-peer hypermedia protocol
{% endblock %}
{% block content %}
{% set pgns = 'about' %}
{% include "tmpl/partials/ipfs.pagenav.html" %}
{% markdown %}
# The IPFS Project
IPFS is a new hypermedia distribution protocol, addressed by content and
identities. IPFS enables the creation of completely distributed applications.
It aims to make the web faster, safer, and more open.
IPFS is an open source project developed by the team at
[Interplanetary Networks](//ipn.io) and many contributors
from the open source community.
{% endmarkdown %}


JavaScript is disabled on your browser.
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes
A
B
C
D
E
F
G
H
I
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
M
main(String[])
- Static method in class composition.
Composition
main(String[])
- Static method in class delays.
DelayTest
main(String[])
- Static method in class delays.
RxEceptionTest
main(String[])
- Static method in class flux.
Showcase
main(String[])
- Static method in class segmentation.
SegmentationShowcase
main(String[])
- Static method in class shares.
SharesShowcase
main(String[])
- Static method in class tcp.
Showcase
main(String[])
- Static method in class thread.
Showcase
main(String[])
- Static method in class timeout.
Showcase
main(String[])
- Static method in class udp.
Showcase
main(String[])
- Static method in class xmpp.
Showcase
map(Function<Node, Node>)
- Method in class dsl.
Flowchart
Maps the flowchart into a new flowchart using a mapping function given.
mapEnacts()
- Method in class dsl.
Flowchart
Resolves enact nodes into the corresponding flowchart chunks recursively (deep resolve).
mapEnds()
- Method in class dsl.
EnactNode
mapEnds(Node, Node, Node)
- Method in class dsl.
Node
Substitutes all EndNode for the corresponding given nodes.
maskedValue()
- Method in class shares.
ConcentratorActor
maskedValue()
- Method in class shares.
SmartMeterActor
maxDelays
- Variable in class dsl.
Part
The maximum delay acceptable for each causation pair listed in
Part.causalRelation
, with the same data structure.
maxTimes
- Variable in class dsl.
Actor
Stores the maximum arrival time for each incoming message.
me
- Variable in class protocols.
ThreadProtocol
The address of the host.
measure
- Variable in class shares.
SmartMeterActor
message
- Variable in class compose.
MessageSenderPair
MessageEncodingScheme
<
P
,
M
> - Interface in
compose
MessageLimboException
- Class in
communications
MessageLimboException()
- Constructor for class communications.
MessageLimboException
messageName
- Variable in class dsl.
SendNode
MessageSenderPair
<
M
> - Class in
compose
MessageSenderPair(M, String)
- Constructor for class compose.
MessageSenderPair
modificationMap
- Variable in class communications.util.
Dump
A mapping between the receive events given from the environment and the ones installed in the communication resource given.
mreToListener
- Variable in class protocols.
XMPPWithIQProtocol
MyIQ
- Class in
protocols
MyIQ(String, String)
- Constructor for class protocols.
MyIQ
MyIQProvider
- Class in
protocols
MyIQProvider()
- Constructor for class protocols.
MyIQProvider
A
B
C
D
E
F
G
H
I
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes


Connector Pane
Get Current Line
Returns the current line of execution when debug mode is enabled using the Debug VI, returns '-1' otherwise.
Parameter(s)
-----------------
- MLua in: Reference to the MLua instance.
- error in: Describes error conditions that occur before this VI runs. This input provides standard error in functionality.
- MLua out: Reference to the MLua instance.
- Current Line: The current line of execution, if no script is currently executing then '-1' is returned.
- error out: Contains error information. This output provides standard error out functionality.


{% load static %} {% load widget_tweaks %} {% load i18n %}
Don't have an account? Register
Home | Privacy | Terms of use


Neuroplasticity is the process of strengthening neural networks in the brain. When you understand the principles of neuroplasticity you are able to engage in more of the activities which promote it and avoid the activities that are detrimental to it.
The more often you practice a task the more often the neurons are fired and the stronger the connections become. Even performing the task mentally stimulates the neurons in a way similar to actually physically performing the task. Therefore, committing to practice skills on a regular basis will be the cornerstone of my approach throughout my learning journey. Additionally, reflection will allow me to reinforce skills and ideas that I have already learnt. And finally, mental practice will become my method of practice when I don’t have access to the equipment for physical practice.
Oddly enough, improving the performance of your brain is not just limited to mental exercises. In fact, studies have shown that cardiovascular exercise promotes the release of a substance known as BDNF, Brain Derived Neurotropic Factor. BDNF encourages growth and differentiation of new neurons and brain cells and increases the longevity of existing connections. Furthermore, participating in positive social interactions and play, and avoiding stressful environments are also shown to have a positive impact on BDNF levels.
A growth mindset is the idea that an individual’s intelligence isn’t fixed but malleable and that we can improve our abilities. Simply knowing that their abilities are capable of being improved can change a person’s goals from performance to learning orientated. When a person is focused on performance goals they may avoid challenging work in an attempt to appear intelligent to others. When learning goals are introduced however a person will actively seek out interesting and challenging tasks as an opportunity to better themselves.
Going forward I think it is important for me to focus on pushing myself to attempt harder challenges. I have always enjoyed learning and improving but over the last few years I have definitely been guilty of pushing myself just enough. Looking back, some of the most rewarding experiences throughout my life have been when I have been really challenged; often uncomfortably so. From these experiences I have learnt that I am resilient enough to bend without breaking and I think life is more rewarding when you challenge yourself to do, and be, better.
Find out more at https://www.mindsetworks.com/Science/Default


{% extends "base.html" %} {% load datetime_filter %} {% block content %}
Are you sure you want to delete this group?
Name: {{ object.name }} Athletes:


| Root Node | |||
|---|---|---|---|
| Name | Value | Default value | Description |
| "nodes" | [node...] | REQUIRED | The list of nodes |
| "links" | [[nodename, nodename]...] | REQUIRED | A list of links between nodes |
| node | |||
| Name | Value | Default value | Description |
| "name" | string | REQUIRED | The name used to indentify node in the code |
| "title" | string | REQUIRED | The name of the node shown to the user |
| "desc" | string | REQUIRED | The description of the node |
| "image" | string | REQUIRED | The icon of the node |
| "pos" | [integer, integer] | REQUIRED | The position of the node |
| "battle" | string | REQUIRED IF "warez" IS NOT PRESENT | The databattle |
| "warez" | [item...] | REQUIRED IF "battle" IS NOT PRESENT | The list of warez items |
| "status" | "unknown", "visible" or "open" | "unknown" | The status of the node |
| item | |||
| Name | Value | Default value | Description |
| "agent" | string | REQUIRED | The name of the agent |
| "value" | integer | REQUIRED | The value of the item |
| battle | |||
|---|---|---|---|
| Name | Value | Default value | Description |
| "name" | string | REQUIRED | The name used to indentify battle in the code |
| "size" | [integer, integer] | REQUIRED | The size of the battle |
| "uploads" | [[integer, integer]...] | REQUIRED | The list of upload slot locations |
| "units" | [unit...] | REQUIRED | The list of enemy units |
| "credits" | [credit...] | REQUIRED | The list of credit slots |
| "dataSlots" | [[integer, integer]...] | OPTIONAL | The list of data slots |
| "reward" | integer | 0 | The credit bonus |
| unit | |||
| Name | Value | Default value | Description |
| "name" | string | REQUIRED | The name of the agent |
| "pos" | [integer, integer] | REQUIRED | The position of the agent |
| credit | |||
| Name | Value | Default value | Description |
| "amount" | integer | REQUIRED | The amount |
| "pos" | [integer, integer] | REQUIRED | The position of the agent |
| message | |||
|---|---|---|---|
| Name | Value | Default value | Description |
| "name" | string | REQUIRED | The name used to indentify message in the code |
| "title" | string | REQUIRED | The title of the message |
| "text" | string | REQUIRED | The content of the message |
| "image" | string | REQUIRED | The avatar of the sender |
| "show after" | event | OPTIONAL | Show the message after this event |
| "buttons" | [button...] | REQUIRED | Buttons |
| event | |||
| Name | Value | Default value | Description |
| "event" | "victory", "defeat" or "newgame" | REQUIRED | A victory event is fired when players wins a level and a defeat level when a level is lost. The newgame event is fired on the very first time the player opens the game. |
| "battle" | string | REQUIRED IF THE EVENT IS "victory" OR "defeat" | The databattle player wins or loses |
| button | |||
| Name | Value | Default value | Description |
| "text" | string | REQUIRED | The text |
| "onclick" | [action...] | REQUIRED | A list of actions |
| action | |||
| Name | Value | Default value | Description |
| "action" | "close", "show message", "open databattle", "open node", "set visible", "give agent" or "give credit" | REQUIRED | The name of the action.
|
| "name" | string | REQUIRED IF THE ACTION IS "show message", "open databattle", "open node", "set visible" OR "give agent" | The name of the message, databattle, node or agent. |
| "amount" | integer | REQUIRED IF THE ACTION IS "give credit" | The amount credit given. |
| agent | |||
|---|---|---|---|
| Name | Value | Default value | Description |
| "name" | string | REQUIRED | The name used to indentify message in the code |
| "desc" | string | REQUIRED | The description |
| "color" | "rrggbb" | REQUIRED | The color of the agent |
| "thumb" | string | REQUIRED | The agent icon |
| "move" | integer | REQUIRED | The speed of the agent. |
| "size" | integer | REQUIRED | The max size of the agent. |
| "abilities" | [ability...] | REQUIRED | The abilities |
| ability | |||
| Name | Value | Default value | Description |
| "source" | "BasicAttack", "SelfHarmingAttack", "ExpandTail", "ModifyProperties" or "ModifyGrid" | REQUIRED | The ability source.
|
| "params" | sourceparams | REQUIRED | A list of parameters to the source. |
| sourceparams | |||
| Name | Value | Default value | Description |
| "name" | string | REQUIRED | The name |
| "desc" | string | REQUIRED | The description |
| "range" | integer | REQUIRED | The range of the ability. |
| "minsize" | integer | REQUIRED | The min size required to perform. |
| "self damage" | integer | REQUIRED IF THE ABILITY IS NOT "BasicAttack" | The damage to the performer. |
| "damage" | integer | REQUIRED IF THE ABILITY IS "BasicAttack" OR "SelfHarmingAttack" | The damage to the target. |
| "move" | integer | REQUIRED IF THE ABILITY IS "ModifyProperties" | The change of the move speed. |
| "rsize" | integer | REQUIRED IF THE ABILITY IS "ModifyProperties" | The change of the max size. |
| "type" | true or false | REQUIRED IF THE ABILITY IS "ModifyGrid" | True adds sectors and false removes sectors. |


#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
"""Utilities for ``FileSystem`` implementations."""
import abc
import io
import os
__all__ = ['Downloader', 'Uploader', 'DownloaderStream', 'UploaderStream',
'PipeStream']
[docs]class Downloader(object):
"""Download interface for a single file.
Implementations should support random access reads.
"""
__metaclass__ = abc.ABCMeta
@abc.abstractproperty
def size(self):
"""Size of file to download."""
[docs] @abc.abstractmethod
def get_range(self, start, end):
"""Retrieve a given byte range [start, end) from this download.
Range must be in this form:
0 <= start < end: Fetch the bytes from start to end.
Args:
start: (int) Initial byte offset.
end: (int) Final byte offset, exclusive.
Returns:
(string) A buffer containing the requested data.
"""
[docs]class Uploader(object):
"""Upload interface for a single file."""
__metaclass__ = abc.ABCMeta
[docs] @abc.abstractmethod
def put(self, data):
"""Write data to file sequentially.
Args:
data: (memoryview) Data to write.
"""
[docs] @abc.abstractmethod
def finish(self):
"""Signal to upload any remaining data and close the file.
File should be fully written upon return from this method.
Raises:
Any error encountered during the upload.
"""
[docs]class DownloaderStream(io.RawIOBase):
"""Provides a stream interface for Downloader objects."""
def __init__(self, downloader, mode='r'):
"""Initializes the stream.
Args:
downloader: (Downloader) Filesystem dependent implementation.
mode: (string) Python mode attribute for this stream.
"""
self._downloader = downloader
self.mode = mode
self._position = 0
[docs] def readinto(self, b):
"""Read up to len(b) bytes into b.
Returns number of bytes read (0 for EOF).
Args:
b: (bytearray/memoryview) Buffer to read into.
"""
self._checkClosed()
if self._position >= self._downloader.size:
return 0
start = self._position
end = min(self._position + len(b), self._downloader.size)
data = self._downloader.get_range(start, end)
self._position += len(data)
b[:len(data)] = data
return len(data)
[docs] def seek(self, offset, whence=os.SEEK_SET):
"""Set the stream's current offset.
Note if the new offset is out of bound, it is adjusted to either 0 or EOF.
Args:
offset: seek offset as number.
whence: seek mode. Supported modes are os.SEEK_SET (absolute seek),
os.SEEK_CUR (seek relative to the current position), and os.SEEK_END
(seek relative to the end, offset should be negative).
Raises:
``ValueError``: When this stream is closed or if whence is invalid.
"""
self._checkClosed()
if whence == os.SEEK_SET:
self._position = offset
elif whence == os.SEEK_CUR:
self._position += offset
elif whence == os.SEEK_END:
self._position = self._downloader.size + offset
else:
raise ValueError('Whence mode %r is invalid.' % whence)
self._position = min(self._position, self._downloader.size)
self._position = max(self._position, 0)
return self._position
[docs] def tell(self):
"""Tell the stream's current offset.
Returns:
current offset in reading this stream.
Raises:
``ValueError``: When this stream is closed.
"""
self._checkClosed()
return self._position
[docs] def seekable(self):
return True
[docs] def readable(self):
return True
[docs]class UploaderStream(io.RawIOBase):
"""Provides a stream interface for Uploader objects."""
def __init__(self, uploader, mode='w'):
"""Initializes the stream.
Args:
uploader: (Uploader) Filesystem dependent implementation.
mode: (string) Python mode attribute for this stream.
"""
self._uploader = uploader
self.mode = mode
self._position = 0
[docs] def tell(self):
return self._position
[docs] def write(self, b):
"""Write bytes from b.
Returns number of bytes written (<= len(b)).
Args:
b: (memoryview) Buffer with data to write.
"""
self._checkClosed()
self._uploader.put(b)
bytes_written = len(b)
self._position += bytes_written
return bytes_written
[docs] def close(self):
"""Complete the upload and close this stream.
This method has no effect if the stream is already closed.
Raises:
Any error encountered by the uploader.
"""
if not self.closed:
self._uploader.finish()
super(UploaderStream, self).close()
[docs] def writable(self):
return True
[docs]class PipeStream(object):
"""A class that presents a pipe connection as a readable stream."""
def __init__(self, recv_pipe):
self.conn = recv_pipe
self.closed = False
self.position = 0
self.remaining = ''
[docs] def read(self, size):
"""Read data from the wrapped pipe connection.
Args:
size: Number of bytes to read. Actual number of bytes read is always
equal to size unless EOF is reached.
Returns:
data read as str.
"""
data_list = []
bytes_read = 0
while bytes_read < size:
bytes_from_remaining = min(size - bytes_read, len(self.remaining))
data_list.append(self.remaining[0:bytes_from_remaining])
self.remaining = self.remaining[bytes_from_remaining:]
self.position += bytes_from_remaining
bytes_read += bytes_from_remaining
if not self.remaining:
try:
self.remaining = self.conn.recv_bytes()
except EOFError:
break
return ''.join(data_list)
[docs] def tell(self):
"""Tell the file's current offset.
Returns:
current offset in reading this file.
Raises:
``ValueError``: When this stream is closed.
"""
self._check_open()
return self.position
[docs] def seek(self, offset, whence=os.SEEK_SET):
# The apitools library used by the gcsio.Uploader class insists on seeking
# to the end of a stream to do a check before completing an upload, so we
# must have this no-op method here in that case.
if whence == os.SEEK_END and offset == 0:
return
elif whence == os.SEEK_SET and offset == self.position:
return
raise NotImplementedError
def _check_open(self):
if self.closed:
raise IOError('Stream is closed.')


About Firebase
What is it?
Firebase is a cross platform "cloud services provider"... it does some cool stuff
Real time nonSQL database
Store data on the cloud in json type objects
Authentication manager
Authenticate users client side without the need for a server
File storage api
Store and retive files securely without the need for a server


The SOLID acronym and the design principles behind it have been the guiding light for achieving good object-orientated (OO) designs for as long as I can remember. It also features in nearly every job interview I’ve attended, and yet I have to revise it because I can never remember exactly what each of the letters stands for!
Over the last few years the reason for my inability to remember these 5 core design principles has become apparent – they are just not dissimilar enough to make them memorable. You would think that any design review meeting where OO was being used as the fundamental paradigm would feature one or more of these terms at almost every turn. But no, there are two other terms which I find always seem better suited and universally covers all the SOLID principles, but with much less confusion – Separation of Concerns (SoC) and Program to an Interface (PtaI).
This article attempts to highlight the seeming redundancy in the SOLID principles and shows where either of the two terms above could be used instead. This does not mean the SOLID principles themselves have no intrinsic value, individually they may well hold a much deeper meaning, but that at a higher level, which is where you might initially look for guidance, it is more beneficial to keep it simple (KISS).
In recent years I have seen a number of talks where this theme has come up. Kevlin Henney, a man who seems to know a thing or two about object-orientated design (amongst many other things), has given a talk where he has deconstructed SOLID [KH1] and even provided (in collaboration with Anders Norås) his own alternative – FLUID [KH2].
More recently I attended a talk at the 2014
ACCU conference by James Grenning [JG] about applying the SOLID principles to a
non-native OO language – C. During this talk he raised a similar question about
which are the two core principles of SOLID, and provided the Single
Responsibility Principle (
Whilst the recognition that there is some duplication within the SOLID principles is useful, I wanted to avoid the confusion that would result from trying to always pick two of the five and then use them consistently in any future discussion. What I realised is that I’ve naturally always side-stepped this issue by using the terms Separation of Concerns (SoC) and Program to an Interface (PtaI) instead.
The remainder of this article looks at each of the SOLID principles and frames them within the context of the two more generalised ones. Rather than discuss them in acronym order I’ve therefore grouped them in two so they are discussed collectively under the same banner.
The basis of the Separation of Concerns (SoC) principle is not specifically within software design; it transcends that and applies to many other pursuits in life too, such as writing. Consequently it is far less prescriptive in nature, instead preferring only to state that “stuff” should be thought of in a different light to other “stuff”. The exact nature of that stuff, how big it is, what it does, who owns it, etc. is entirely context dependent. In terms of a software system we could be talking about the client and server, or marshalling layer and business logic, or production code and test code. It’s also entirely possible that the same two areas of discussion be considered separate in one context and yet be united in another, e.g. subsystems versus components.
It should be fairly obvious that the Single
Responsibility Principle (
The subtext of
public ProductNameEnricher : Enricher
{
public void Enrich(Order order)
{
// code to make HTTP request to retrieve product details
// code to transform the object model
}
}
When it came to testing the class a virtual method was introduced to allow the HTTP request to be mocked out; however virtual methods in C# are often a design smell [CO]. Although it might seem that the class has only one responsibility – enrich the object model with data – in this instance it really has two:
When it comes to further responsibilities later, such as error handling of the remote call, caching of data, additional data attributes, etc. the entire responsibility of the class grows and often for more than one reason – HTTP request invocation or object model transformation.
Hence the two concerns can be split out into separate classes that can then be independently tested (therefore removing the need for the virtual method), e.g.
public ProductService : ProductFinder
{
public Product[] FindProducts(...)
{
// code to make HTTP request to retrieve product details
}
}
public ProductNameEnricher : Enricher
{
public void Enrich(Order order)
{
var products = _proxy.FindProducts(...);
Enrich(order, products);
}
private static void Enrich(order, products)
{
// code to transform the object model
}
private readonly ProductFinder _proxy;
}
The clue that the Interface Segregation
Principle (
The idea behind
public class MemoryStream
{
void Read(byte[] buffer, int count);
void Write(byte[] buffer, int count);
}
It is more prevalent for a client to only be concerned with reading or writing to/from a stream at any one time. Therefore we can use the Extract Interface refactoring [MF] and split those responsibilities into two separate interfaces:
public interface Reader
{
void Read(byte[] buffer, int count);
}
public interface Writer
{
void Write(byte[] buffer, int count);
}
public class MemoryStream : Reader, Writer
{
void Read(byte[] buffer, int count);
void Write(byte[] buffer, int count);
}
I first came across the expression “program to an interface, not an implementation” when reading the seminal work on Design Patterns by the Gang of Four [GoF]. The idea is that you should not (need to) care about how a class is implemented, only that its interface provides you with the semantics you require. Unlike languages such as Java and C#, C++ (amongst others) does not support interfaces as a first-class concept which means the notion of “interface” is somewhat subtler than just the methods declared within an independently defined interface-style type.
Where the two SOLID principles that fall into the SoC category above are fairly easily to guess from their names alone, the latter three are probably a little more obscure. And this, I feel, is in stark contrast to the name of this encompassing principle.
The Liskov Substitution Principle (LSP) is usually “explained” by quoting directly from it. What it boils down to is the proposition that two types are related if one can be used in place of the other and the code still works exactly as before. One less intuitive example of this would be switching containers in C++:
int sum(const std::vector<int>& values)
{
int sum = 0;
for (auto it = values.begin(); it != values.end(); ++it)
sum += *it;
return sum;
}
In this example the container could be replaced with std::dequeue or std::list and the program would still compile, execute and give the exact same result. And yet none of the C++ containers derive from a common “container interface”; they merely implement the same set of methods to provide the same semantics and can therefore be considered directly substitutable.
Interestingly Kevlin Henney, in the first talk I saw about SOLID [KH1], made the observation that the Liskov Substitution Principle states that a condition of the relationship is based on there being “no change in the program’s behaviour”. The example above adheres precisely to that constraint. However many interpret the principle as allowing substitution if it conforms to the same abstract interface, despite the fact that the implementation of that interface could produce a program that does something completely different:
public interface Writer
{
void Write(string message);
}
public class FileWriter : Writer
{
void Write(string message);
}
public class DatabaseWriter : Writer
{
void Write(string message);
}
Whichever way you interpret it, the ability to substitute one implementation for another is predicated on the need of the two implementations to confirm to the same interface, and for the consumer of that interface to only invoke it in such a way that is compatible with the common semantics of all potential implementations.
Whilst LSP considers what it means for the client code to be able to consume similar types based on semantics, the Dependency Inversion Principle (DIP) tackles how the implementation can be physically partitioned without the client needing direct access to it. If the client only depends on abstractions, then the opportunity to substitute different implementations becomes possible. And because the details of the abstraction is all that is required by the client, then the implementation can live in a different part of the codebase.
The “inversion” aspect comes from the idea of a layered architecture where the consuming code that only relies on the abstraction can live in the lower layers whilst the actual implementation can live in the higher ones. In an onion-like architecture the abstractions can live in the core whilst the implementations live in the outer service layers.
The word “abstraction” could be considered as synonymous with “interface” if considering it in the context of a programming language that supports it as a first-class concept. In a duck typing environment the subtler meaning is harder to translate as there is nothing concrete to use as an aid in ensuring you’re only relying on the abstract behaviour. Either way Program to an Interface is really another way of saying Program to an Abstraction.
The Open/Closed Principle (OCP) has taken
quite a beating in recent times with the likes of
For example, in languages where polymorphism is not supported as a first-class concept, such as C, switching on a field holding an object’s underlying “type” is a common way of varying behaviour:
switch (shape->type)
{
. . .
case Shape::Square:
DrawSquare((
break;
case Shape::Circle:
DrawCircle((
break;
. . .
}
With direct support for polymorphism the client code reduces to a single line and is “open for extension” without requiring modification of the caller by virtue of the fact that any new subclasses will be automatically supported:
shape->Draw();
Similarly an implementation can be made “open for extension” by breaking the functionality down into small, focused methods that can be overridden piecemeal by a derived class, e.g. via the Template Method design pattern [GoF-TM].
class DocumentPrinter
{
public:
virtual void Print(Document doc)
{
PrintHeader(doc);
PrintBody(doc);
PrintFooter(doc);
}
protected:
virtual void PrintHeader();
virtual void PrintBody();
virtual void PrintFooter();
};
In both these cases the mechanism that decouples the client from the implementation and allows the implementation to be composed at an abstract-level is the interface. Whilst inheritance is a common choice for implementation reuse, composition is more desirable due to its lower coupling. The interface provides the means of describing the extensible behaviour.
If taken in a literal sense the notion of programming to an interface encourages the design of abstractions rather than concrete types which in turn promotes looser coupling between caller and callee. Consequently it also relaxes the need to rely on inheritance as the sole method of extension and instead paves the way for composition to be used as an alternative.
In a private conversation about this idea Kevlin Henney mused that you could even drop Program to an Interface as that is in itself just another variation of the Separation of Concerns principle:
“If you think about it, Programming to an Interface is an articulation of separating concerns: separate interface from implementation, have dependent code work in terms of interface, i.e., separate from implementation dependency.”
Whilst in theory this is an interesting observation, I not sure what, if any, practical value it has. Einstein once said “Everything should be made as simple as possible, but no simpler”. The reduction of SOLID down to just the Separation of Concerns and Program to an Interface principles feels to me to be a valuable simplification, whilst the above would be a step too far.
The goal of this article was to reduce the five core SOLID principles to a more manageable and memorable number for the purposes of everyday use. Instead of getting distracted with the finer details of SOLID I’ve shown that the two more generalised principles of Program to an Interface and Separation of Concerns are able to provide just as much gravitas to shape a software design.
This article is merely a refinement of similar ideas already put forward. As such I’m just standing on the shoulders of the giants that are Kevlin Henney and James Grenning. The Overload peer reviewers have also helped me stand on my tippy-toes to see that little bit further afield.
[CO] Virtual Methods in C# Are a Design
Smell by
[GoF] Design Patterns: Elements of Reusable
Object-Oriented Software by Ralph
[GoF-TM] Template Method from Design Patterns - http://en.wikipedia.org/wiki/Template_method_pattern
[JG] Designing SOLID C by James Grenning (ACCU Conference 2014) - http://www.slideshare.net/JamesGrenning/solid-c-accu2014key
[JS] The Open-Closed Principle, in review
by
[KH1] Will the Real OO Please Stand Up? by Kevlin Henney (ACCU 2011 conference) - http://accu.org/content/conf2011/Kevlin-Henney-Will-the-Real-OO-Please-Stand-Up.pdf and http://www.slideshare.net/Kevlin/solid-deconstruction
[KH2] SOLID deconstruction by Kevlin Henney (ACCU 2012 conference) - http://accu.org/content/conf2012/Kevlin_SOLID_Deconstruction.pdf and http://www.slideshare.net/Kevlin/introducing-the-fluid-principles
[MF] Refactoring: Improving the Design of Existing Code by Martin Fowler - http://refactoring.com/catalog/extractInterface.html
17 July 2014
Bio
Chris is a freelance developer who started out as a bedroom coder in the 80’s writing assembler on 8-bit micros; these days it’s C++ and C#. He also commentates on the Godmanchester duck race and can be contacted via<EMAIL_ADDRESS>or @chrisoldwood.


Contact Us
Get in Touch with Us. Our Team will reply your query within 24hrs.
121 King St,
Melbourne VIC 3000,
Australia
+00 111 232 11 33
<EMAIL_ADDRESS>Name:
*
Phone:
*
Email Address:
*
Subject:
Wordpress
PHP / MySQL
HTML5 / CSS3
Graphic Design
Message:
*
Send Message


We're a group of people from all around the globe building Open Source society based on freedom, crypto-anarchism, direct democracy and meritocracy. We're gathered around Anote cryptocurrency, the building block of future society.
Read More Join the MovementGather likeminded people around a cool new cryptocurrency called Anote and teach them how to use it.
More on AnoteUse Anote to kickstart projects like AnonShout (ad Telegram channel) and similar to kickstart Anote economy.
More on AnonShoutProvide the alternative to current countries, banking and monetary systems and economy in general.
More on Anonutopia
In order to claim your free Anote, join our Telegram group and ask our friendly bot for it.
Click the button bellow to find out more!
Mining Anote is very simple, you just need Telegram Messenger and follow these simple steps to start earning money:
Install Telegram Messenger on phone or desktop
Open AnoteRobot, our friendly bot
Clict "start" button
Follow the instructions from AnoteRobot


OData Feed
Search
Earliest/Latest
Refresh
(Listings are for non-canonical URI)
EAI object
Owner
Namespace


MyLibrary
Insert or Update the Book
The Diary of a Young Girl
Please inform the book data to be inserted or updated
Title
Valid book name is required.
Author
Valid author name is required.
Publisher
Valid publisher is required.
Edition
1st
2nd
3rd
4rd
Valid edition is required.
Number of Pages
Valid number of pages is required.
Language
Portuguese
English
Spanish
Chinese
Valid language is required.
Minimum Reading Age
Valid minimum reading is required.
Publication Date
Valid publication date is required.
Submit


{{Unreferenced|date=October 2012}} {{Infobox prepared food | name = Bika Ambon | image = | caption = | alternate_name = | country = Indonesia | region = Medan, North Sumatra | creator = | course = | type = Cake | served = | main_ingredient = Tapioca and sago flour, Eggs, sugar, coconut milk | variations = | calories = | other = }}
Bika Ambon is a dessert from Indonesia. Made from ingredients such as tapioca flour, eggs, sugar, yeast and coconut milk, Bika Ambon generally sold in pandan flavour, although now available also other flavors like banana, durian, cheese, chocolate.
The yeast creates bubbles, which gives it a unique spongy texture when it is baked.
Although the name contains the word "Ambon", the name of an island and its largest city, Bika Ambon is widely known as the specialty cake of Medan in North Sumatra and often brought as a gift by those whom visited the city. The origins of Bika Ambon are not known; however, there is some speculation that they came to Medan through Ambonese traders, where the locals took a liking to it. Mojopahit Street, Medan Petisah is a most famous sales region of Bika Ambon in Medan, North Sumatra. There are at least 40 stores that sell this kind of cake.
Bika Ambon is also made popular recently around the central Java. Thanks to few retail shops who sells various Indonesian traditional cakes. {{Kue}} {{Dessert-stub}} {{indonesia-cuisine-stub}} {{Indonesian cuisine}}


Install plugin
cd ~/.vim/bundle
git clone git@github.com:ctrlpvim/ctrlp.vim.git
Add configs into your ~/.vimrc
" Plugin: ctrlp.vim
" https://github.com/ctrlpvim/ctrlp.vim
" ------------------
" http://kien.github.io/ctrlp.vim/
set runtimepath^=~/.vim/bundle/ctrlp.vim
" https://github.com/kien/ctrlp.vim/issues/58#issuecomment-42743551
let g:ctrlp_custom_ignore = '\v[\/](node_modules|target|dist)|(\.(swp|ico|git|svn))$'
Visit the official website for the latest instructions URL_HERE


?Bro.
Alain
H.
Liogier
22—23
Sep
1969
2
Support«!
by
fund*
from
the
National
Selene«
Foundation.
THE
NEW
YORK
BOTANICAL
GARDEN
Plants
of
Hispaniola
Dominican
Republic
15954
No.
/O
rL4~
1
Herbaceous,
cespitose,
up
to
8
cm
high,
glumes
green;
on
trailside,
uncommon.
Ci&aaga
de
la
''ulata,
Constanza.
Swamps
and
thickets.
Alt.
1550
m.
1605108
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


1
Toby is eating an apple right now.
2
Sarah was reading a book by J. K. Rowling.
3
I shall play computer games later today.
4
Megan had worn a lovely dress for the party yesterday.
5
Lucy could bake cookies at the age of ten.
6
He has practised his dialogues for the school play.
7
The children are excited for the hiking trip.
8
My parents have gone for a cruise.
9
I am enjoying my new high school.
10
Uncle John and Aunt Grace were looking for a new house.
Helping Verbs
1)
is
2)
was
3)
shall
4)
had
5)
could
6)
has
7)
are
8)
have
9)
am
10)
were
Action Verbs
1)
eating
2)
reading
3)
play
4)
worn
5)
bake
6)
practised
7)
excited
8)
gone
9)
enjoying
10)
looking


{% extends 'base_template.html' %} {% block content %}
Customer Name: {{ customer_name }}
Customer Phone No: {{ customer_phone_no }}
Customer Address: {{ customer_address }}
| Product | Size | Quantity | Price |
|---|---|---|---|
| {{ item.product_name }} | {{ item.product_size }} | {{ item.instance_qty }} | ₹ {{ item.instance_total_price }} |
Total price: ₹ {{ base_amount }}
Taxes and merchant charges: ₹ {{ additional_charges }}
Total payable amount: ₹ {{ payable_amount }}
Proceed to pay


{% extends 'main/sidebar.html' %} {% load static %} {% block content%}
Thank you for visiting the website!
"What we learn with pleasure
we never forget"
Easy money as so many students need help with 2150 even though it's an easy course.
English tutor great. Website easy use. Inexpensive tutoring. Would recommend.
This was an easy and effective way to learn from many students about their needs.


Module: ActiveRecord::Associations::Preloader::ThroughAssociation
Do not use. This module is for internal use only.
| Relationships & Source Files | |
| Defined in: | activerecord/lib/active_record/associations/preloader/through_association.rb |
Instance Method Summary
Instance Method Details
#associated_records_by_owner(preloader)
[ GitHub ]13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
# File 'activerecord/lib/active_record/associations/preloader/through_association.rb', line 13
def associated_records_by_owner(preloader) preloader.preload(owners, through_reflection.name, through_scope) through_records = owners.map do |owner| association = owner.association through_reflection.name center = target_records_from_association(association) [owner, Array(center)] end reset_association owners, through_reflection.name middle_records = through_records.flat_map { |(_, rec)| rec } preloaders = preloader.preload(middle_records, source_reflection.name, reflection_scope) @preloaded_records = preloaders.flat_map(&:preloaded_records) middle_to_pl = preloaders.each_with_object({}) do |pl, h| pl.owners.each { |middle| h[middle] = pl } end through_records.each_with_object({}) do |(lhs, center), records_by_owner| pl_to_middle = center.group_by { |record| middle_to_pl[record] } records_by_owner[lhs] = pl_to_middle.flat_map do |pl, middles| rhs_records = middles.flat_map { |r| association = r.association source_reflection.name target_records_from_association(association) }.compact # Respect the order on `reflection_scope` if it exists, else use the natural order. if reflection_scope.values[:order].present? @id_map ||= id_to_index_map @preloaded_records rhs_records.sort_by { |rhs| @id_map[rhs] } else rhs_records end end end end
#id_to_index_map(ids) (private)
[ GitHub ]64 65 66 67 68
# File 'activerecord/lib/active_record/associations/preloader/through_association.rb', line 64
def id_to_index_map(ids) id_map = {} ids.each_with_index { |id, index| id_map[id] = index } id_map end
#reset_association(owners, association_name) (private)
[ GitHub ]70 71 72 73 74 75 76 77 78 79 80
# File 'activerecord/lib/active_record/associations/preloader/through_association.rb', line 70
def reset_association(owners, association_name) should_reset = (through_scope != through_reflection.klass.unscoped) || (reflection.[:source_type] && through_reflection.collection?) # Don't cache the association - we would only be caching a subset if should_reset owners.each { |owner| owner.association(association_name).reset } end end
#source_reflection
[ GitHub ]9 10 11
# File 'activerecord/lib/active_record/associations/preloader/through_association.rb', line 9
def source_reflection reflection.source_reflection end
#target_records_from_association(association) (private)
[ GitHub ]102 103 104
# File 'activerecord/lib/active_record/associations/preloader/through_association.rb', line 102
def target_records_from_association(association) association.loaded? ? association.target : association.reader end
#through_reflection
[ GitHub ]5 6 7
# File 'activerecord/lib/active_record/associations/preloader/through_association.rb', line 5
def through_reflection reflection.through_reflection end
#through_scope (private)
[ GitHub ]82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
# File 'activerecord/lib/active_record/associations/preloader/through_association.rb', line 82
def through_scope scope = through_reflection.klass.unscoped if [:source_type] scope.where! reflection.foreign_type => [:source_type] else unless reflection_scope.where_clause.empty? scope.includes_values = Array(reflection_scope.values[:includes] || [:source]) scope.where_clause = reflection_scope.where_clause end scope.references! reflection_scope.values[:references] if scope.eager_loading? && order_values = reflection_scope.values[:order] scope = scope.order(order_values) end end scope end


All India Mahila Empowerment Party - MEP , Justice for Humanity.
We did the foundation of MEP not to compete with other parties propaganda or their rights - we formed MEP - with one motto of creating a clear path for justice to all.
Women in general is always been downgraded by lot of conspiracies, here if its justice we will stand with them and will do the best to empower a faithful solution.
MEP will take action with all aspects of antihuman and antisocial elements - its time for a change in all means Education is a very important role in the upbringing of a healthy society, education for all will be our main agenda...
Girls as well as Boys should be given well early education and proper studies and rights of a person in society should be learn from the childhood itself and with this the growth of perfect country will work.
Another Aim of the Party will be to control on Child Labor, this has effected the whole country as by not knowing we produce another weaker community by making the child work instead of giving education.
Child Abuse is also one of the concerns and will get full Justice and try to bring a full stop on this A sound society which recognizes equality of all its people can only build a healthy and strong nation. Empowering women is a means towards the empowerment of the larger society and the nation. The process is never simple but we have to bring the situation in which all have to stand with one slogan Justice for Humanity.